An Ethernet network allows a frame of data to be sent from one computing device in the network to another computing device in the network based on a destination Media Access Control (MAC) address in the frame. To deliver the frame, individual nodes in the network process the frame and direct the frame, at the data link layer (layer 2 of the Open Systems Interconnection (OSI) model), to a next node, potentially to the exclusion of other nodes, until the frame arrives at the destination computing device. The processing and directing of frames in this manner is known as switching.
Switching can be accomplished through databases maintained at nodes in the network with entries indicating a port corresponding to different destination MAC addresses. An entry in the table can be established, through the flooding process, when a switch receives a frame with a new destination MAC address that is not yet listed. As part of the flooding process, the switch can broadcast an inquiry on all ports, excepting the port at which the frame was received, requesting recognition of the new address and resulting in similar requests from connected nodes. Eventually, a response from the computing device corresponding to the new destination MAC address can be relayed back to the requesting node over one or more paths. The requesting node then makes and updates an entry with a corresponding port based on the port through which the most recent response was received. However, if there is a loop in the network, nodes will continue to propagate the request, resulting in perpetual updates, until unacceptable portions of the network's bandwidth are occupied.
Therefore, a process of avoiding loops is desirable. At the same time, it is desirable to maintain redundancy in the network to provide alternatives in the event of failure. This can be accomplished through a network with many links that would result in loops if they were all operative, but which are systematically blocked to prevent loops. These loops can be opened to redirect traffic in the event of a failure. Protecting a network of switches from loops and recovering from link failures through redundancy is known as switch protection. Protocols, such as the Spanning Tree Protocol (STP), have been developed to provide a loop-free topology, while allowing redundancy that can be accessed to respond to failures in the network. However, over time, the demands placed on switching networks have created new issues that need a new approach to switch protection.